.\" Process this file with
.\" groff -man -Tascii opusdec.1
.\"
.TH opusdec 1 2019-09-07 "Xiph.Org Foundation" "opus-tools"
.SH NAME
opusdec \(en decode audio in Opus format to Wave or raw PCM
.SH SYNOPSIS
.B opusdec
[
.I options
]
.I input
[
.I output
]
.SH DESCRIPTION
.B opusdec
decodes Opus URLs or files to uncompressed Wave or raw PCM.
.PP
.I input
may be a URL, file, or "\fB\-\fR" to read from stdin.  In URLs, the
.BR file ,
.BR http ,
and
.B https
schemes are supported unless HTTP support was disabled at build time.
.PP
.I output
is an output file or "\fB\-\fR" to write to stdout.  The output
will be in Wave format if the output filename ends in
.B .wav
or the
.B "--force-wav"
option is used; otherwise raw PCM samples will be written.
.PP
If
.I output
is not specified,
.B opusdec
will attempt to play the audio in realtime if it supports
audio playback on your system.
.SH OPTIONS
.TP
.BR -h ", " --help
Show command help.
.TP
.BR -V ", " --version
Show version information.
.TP
.B --quiet
Suppresses program output.
.TP
.BI --rate " N"
Force decoding at sampling rate
.I N
Hz.
.TP
.B --force-stereo
Force decoding to stereo.
.TP
.BI --gain " N"
.br
Adjust the output volume
.I N
dB.
Negative values make the signal quieter.
.TP
.B --no-dither
Do not dither 16-bit output.
.TP
.B --float
Output 32-bit floating-point samples instead of 16-bit integer samples.
.TP
.B --force-wav
Force Wave output format, regardless of the output filename extension.
.TP
.BI --packet-loss " N"
Simulate \fIN\fR\|% random Opus packet loss.
.TP
.BI --save-range " FILENAME"
Save check values for every frame to a file.
.SH EXAMPLES
Decode a file
.B input.opus
to
.BR output.wav :
.RS 5
opusdec input.opus output.wav
.RE
.PP
Play a file
.BR input.opus :
.RS 5
opusdec input.opus
.RE
.PP
Re-encode a high bitrate Opus file to a lower rate:
.RS 5
opusdec --force-wav input.opus - | opusenc --bitrate 64 - output.opus
.RE
.PP
Play the http stream
.B http://icecast.somwhere.org:8000/stream.opus
on a system with pulseaudio:
.I (press ctrl-c to quit)
.RS 5
padsp opusdec http://icecast.somwhere.org:8000/stream.opus
.RE
.SH AUTHORS
Jean-Marc Valin <jmvalin@jmvalin.ca>
.PP
Gregory Maxwell <greg@xiph.org>
.SH BUGS
Opusdec does not currently reject all invalid files which it should reject.
It also doesn't provide very helpful output for the corrupted files it
does reject. Use \fBopusinfo\fR(1) for somewhat better diagnostics.
.SH SEE ALSO
.BR opusenc (1),
.BR opusinfo (1)
